Determining floor location and movement of a mobile computer in a building

ABSTRACT

Determining, with utilization of environmental sensor data, a floor in a building that the mobile computer is located is disclosed. The mobile computer may track indoor position on the floor with a combination of Wi-Fi related position data and an estimated distance traveled determined with accelerometer data. The mobile computer may also determine an area on the floor where the mobile computer is located.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 13/776,643 filed Feb. 25, 2013, which issued as U.S. Pat. No. 8,842,496 on Sep. 23, 2014, which is a continuation of U.S. patent application Ser. No. 13/412,317 filed Mar. 5, 2012, which issued as U.S. Pat. No. 8,395,968 on Mar. 12, 2013, which is a continuation of U.S. patent application Ser. No. 12/900,951 filed Oct. 8, 2010, which issued as U.S. Pat. No. 8,174,931 on May 8, 2012, the contents of which are all hereby incorporated by reference herein as if fully set forth. This application is related to U.S. patent application Ser. No. 13/463,538 filed May 3, 2012, which issued as U.S. Pat. No. 8,284,100 on Oct. 9, 2012.

FIELD OF INVENTION

This application relates to indoor location or position determination. In particular, it relates to providing indoor location or position determination of object devices using building information and/or powerlines.

BACKGROUND

Location determination systems, such as the global positioning system (GPS), have provided the ability to find and track location of object devices enabling new applications like location based services (LBS). Although fairly accurate outdoors, many location determination systems cannot detect when an object device is indoors, accurately track objects indoors, or determine if an object device is in a vehicle or conveyance. It is desirable to detect or track object devices indoors for applications such as safety, e-business, gaming, directions, or the like.

Solutions have been proposed for locating object devices indoors involving beacons, transponders, and/powerlines. However, these systems require the installation of a plurality of devices or indoor base stations in order to work and require complicated additional hardware in the object device. It desirable to locate an object device indoors without the need for much added hardware or complexity.

SUMMARY

An apparatus and method for providing indoor detection, location, position, or track determination of object devices using building information and/or powerlines. An object device may determine the dimensions of the interior of a building and compare it to known information about the dimensions of the building to determine that it's indoors and/or also determine its exact location or position in the building. An object device may also determine dimensions in an enclosure in order to identify if it is in an automobile, aircraft, or any other conveyance.

BRIEF DESCRIPTION OF THE DRAWINGS

A more detailed understanding may be had from the following description, given by way of example in conjunction with the accompanying drawings wherein:

FIG. 1 is a diagram of an object device that may detected, located, positioned, or tracked indoors or in a conveyance;

FIG. 2 is a diagram of detecting, locating, positioning, or tracking an object device indoors using powerlines;

FIG. 3 is a process for detecting, locating, positioning, or tracking an object device indoors using powerlines;

FIG. 4 is a diagram of detecting, locating, positioning, or tracking an object device indoors or in a conveyance using emitted or transmitted signals; and

FIG. 5 is a process for detecting, locating, positioning, or tracking an object device indoors using emitted or transmitted signals.

DETAILED DESCRIPTION

The present invention will be described with reference to the drawing figures wherein like numerals represent like elements throughout. For the processes described below the steps recited may be performed out of sequence and sub-steps not explicitly described or shown may be performed. In addition, “coupled” or “operatively coupled” may mean that objects are linked between zero or more intermediate objects. Also, any combination of the disclosed features/elements may be used in one or more embodiments. When using referring to “A or B”, it may include A, B, or A and B, which may be extended similarly to longer lists.

In the embodiments provided below, indoor location or position within a building may be determined using signals that may be received from endpoints, such as an outlet, by an object device. In addition or combination, an object device may emit signals, such as ultrasound, to determine the dimensions of a room in a building to subsequently determine indoor location or position.

FIG. 1 is a diagram of an object device 100 that may be detected, located, positioned, or tracked indoors or in a conveyance. Object device may be configured as a wireless subscriber unit, user equipment (UE), mobile station, smartphone, pager, mobile computer, cellular telephone, telephone, personal digital assistant (PDA), computing device, surface computer, tablet computer, monitor, general display, versatile device, appliance, automobile computer system, vehicle computer system, television device, a laptop, a netbook, a tablet computer, a personal computer, a wireless sensor, an Internet pad, a digital music player, a peripheral, virtual reality glasses, a media player, a video game device, or the like for mobile or fixed applications. Any of devices, controllers, displays, components, etc., in object device 100 may be combined, made integral, or separated, as desired.

Object device 100 comprises computer bus 140 that couples at least one or more processors 102, one or more interface controllers 104, memory 106 having software 108, storage device 110, power source 112, and/or one or more displays controller 120. One or more processors 102 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, single core processor, a multi-core processor, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Array (FPGAs) circuits, any other type of integrated circuit (IC), or the like.

One or more display devices 122 may be configured as a liquid crystal display (LCD), light emitting diode (LED) display, field emission display (FED), organic light emitting diode (OLED) display, flexible OLED display, or the like. The one or more display devices 122 may be configured, manufactured, produced, or assembled based on the descriptions provided in US Patent Publication Nos. 2007-247422, 2007-139391, 2007-085838, or 2006-096392 or U.S. Pat. No. 7,050,835 or WO Publication 2007-012899 all herein incorporated by reference as if fully set forth.

In the case of a flexible display device, the one or more electronic display devices 122 may be configured and assembled using organic light emitting diodes (OLED), liquid crystal displays using flexible substrate technology, flexible transistors, field emission displays (FED) using flexible substrate technology, or the like. One or more display devices 122 may be configured as a touch or multitouch screen display using resistive, capacitive, surface-acoustic wave (SAW) capacitive, infrared, strain gauge, optical imaging, dispersive signal technology, acoustic pulse recognition, frustrated total internal reflection or magneto-strictive technology, as understood by one of ordinary skill in the art.

Coupled to computer bus 140 are one or more input/output (I/O) controller 116, I/O devices 118, Global Navigation Satellite Systems (GNSS) device 114, one or more network adapters 128, and/or one or more antennas 130. Examples of I/O devices include a speaker, microphone, keyboard, keypad, touchpad, display, touchscreen, wireless gesture device, a digital camera, a digital video recorder, a vibration device, or the like.

Object device 100 may have one or more motion, proximity, light, optical, chemical, environmental, moisture, acoustic, heat, temperature, radio frequency identification (RFID), biometric, face recognition, image, photo, or voice recognition sensors 126 and touch detectors 124 for detecting any touch inputs, including multi-touch inputs, for one or more display devices 122. Sensors 126 may also be an accelerometer, an e-compass, gyroscope, a 3D gyroscope, or the like. One or more interface controllers 104 may communicate with touch detectors 124 and I/O controller 116 for determining user inputs to object device 100. Coupled to one or more display devices 122 may be pressure sensors 123 for detecting presses on one or more display devices 122.

Still referring to object device 100, storage device 110 may be any disk based or solid state memory device for storing data. Power source 112 may be a plug-in, battery, fuel cells, solar panels for receiving and storing solar energy, or a device for receiving and storing wireless power as described in U.S. Pat. No. 7,027,311 herein incorporated by reference as if fully set forth.

One or more network adapters 128 may be configured as a Frequency Division Multiple Access (FDMA), single carrier FDMA (SC-FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), Orthogonal Frequency-Division Multiplexing (OFDM), Orthogonal Frequency-Division Multiple Access (OFDMA), Global System for Mobile (GSM) communications, Interim Standard 95 (IS-95), IS-856, Enhanced Data rates for GSM Evolution (EDGE), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), cdma2000, wideband CDMA (W-CDMA), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), High-Speed Packet Access (HSPA), Evolved HSPA (HSPA+), long term evolution (LTE), LTE Advanced (LTE-A), 802.11x, Wi-Fi, Zigbee, Ultra-WideBand (UWB), 802.16x, 802.15, Wi-Max, mobile Wi-Max, Bluetooth, radio frequency identification, Infrared Data Association (IrDA), or any other wireless or wired transceiver for modulating and demodulating signals via one or more antennas 130.

Object device 100 may include ultrasound transducers and detectors/sensors 121 that emits or transmits one or more ultrasound signals and detects ultrasound signal reflections of emitted or transmitted ultrasound signals. Ultrasound transducers and detectors 121 may also detect any ultrasound signals emitted or transmitted by other ultrasound transducers, such as in another object device. Ultrasound transducers and detectors 121 may comprise a single transducer and detector or a plurality of transducers and detectors, such as in an array. Ultrasound transducers and detectors 121 may be an add-on, attachment, accessory, or peripheral coupled to object device 100 using a wired or wireless communication link, such as universal serial bus (USB), Bluetooth, or Wi-Fi.

FIG. 2 is a diagram of detecting, locating, positioning, or tracking an object device indoors using powerlines. In powerline location services object determination, object device 202 may be configured with at least some of the circuitry described in FIG. 1 and may initially be outside or exterior to building 201. Via local or Internet communication link 204, object device 202 may receive building information from location unit 206. Location unit 206 is a device coupled to a circuit breaker box, junction box, or a common electrical outlet 208 and/or powerlines, electrical wire, or electric cable 216 in room 3. Alternatively, object device 202 may already have building information stored in storage device 110 for building 201.

Location unit 206 may receive over communication link 210 and network 211, information about building 201 from at least one or more servers 212. At least one or more servers 212 may be collocated or distributed over multiple locations in a computer network, such as the Internet. Receiving information about building 201 may be done during an initialization process where the geographic location of circuit breaker, junction box, or outlet 208 is provided to location unit 206, such as by programming by a user or over the air (OTA) programming by at least one or more servers 212. Alternatively, location unit 206 may have a GNSS, GPS, or a cell tower based location device to determine its initial position. Network 211 may include both wired and wireless networks.

Information about building 201 may include the number floors, the number of rooms, architectural plans, architectural schematics, 3D room dimensions, 3D (e.g. width, length, height) estimated room dimensions, 2D (e.g., width and length) room dimensions, 2D estimated room dimensions, room volumes, space volumes, room areas, space areas, simple room layouts (e.g., width and length), room geometry, floorplans, building models, site plans, site surveys, or the like. Building 201 may be an abode, apartment, house, mall, warehouse, commercial building, office, cabin, condo, condominium, domicile, dormitory, dwelling, hospital, house, residence, shelter, enclosure, or the like.

Alternatively, location unit 206 may determine the dimensions and characteristics of building 201 using an initialization or fingerprinting process where a training signal, special signal, or beacon is communicated over powerlines electrical wire, or electric cable 216 to determine the distance to endpoints 218 ₁, 218 ₂, 218 ₃, 222 ₁, 222 ₂, or 222 ₃. The training signal, special signal, or beacon may be a signal having a frequency and/or power level that will cause strong reflections off of endpoints 218 ₁, 218 ₂, 218 ₃, 222 ₁, 222 ₂, or 222 ₃. The distance may be determined by measuring the time it takes for a reflection of the training signal, special signal, or beacon to travel to each endpoint and back to location unit 206. When calculating the distance, path loss models for powerlines, copper, wires, connectors, junction boxes, switches, or outlets may be taken under consideration by location unit 206. The various distances may be used to build a rough model of building 201.

Object device 202 moves to room 1 and receives at least signals 220 ₁, 220 ₂, or 220 ₃ from endpoints 218 ₁, 218 ₂, or 218 ₃ transmitted by location unit 206, respectively. Endpoints 218 ₁, 218 ₂, or 218 ₃ may be special or ordinary electrical outlets, switches, or fixtures capable of transmitting signals. For instance, an ordinary electrical outlet can transmit signals since it has electrical contacts exposed to air that may act as antennas to transmit signals in a wide frequency range. Signals 220 ₁, 220 ₂, or 220 ₃ may be a radio frequency signal, a wireless ultrasound signal, or wireless ultrasonic signal that is configured to avoid noise and interference from other devices. This may be achieved by using spread spectrum.

Signals 220 ₁, 220 ₂, or 220 ₃ may be modulated using amplitude shift keying (ASK), frequency shift keying (FSK), binary phase shift keying (BPSK), quadrature shift keying (QPSK), quadrature amplitude modulation (QAM), code division multiple access (CDMA), orthogonal frequency division modulation (OFDM), or the like. As an example, so that object device 202 does not need special transceiver circuitry, radio frequency signal may be unused bit space in an 802.11x, Wi-Fi, or any other standard based message.

Object device 202 determines it is indoors by receiving any one of signals 220 ₁, 220 ₂, or 220 ₃. Once in room 1, object device 202 determines its location or position within room 1 by receiving signals 220 ₁, 220 ₂, or 220 ₃ to calculate or estimate distances x₁, x₂, or x₃ within a few inches or feet. So that object device 202 has awareness of what room it is in within building 201, object device 202 determines its separation from location unit 206 from the signal strength of signals 220 ₁, 220 ₂, or 220 ₃. The specific room within building 201 may be determined by comparing calculated or estimated distance z₁ to building layout or model information stored in storage device 110.

Moreover, object device 202 may determine its location or position in room 1 by any combination of time of arrival (TOA), triangulation, trilateration, multilateration, time difference of arrival (TDOA), Enhanced Observed Time Difference (E-OTD), or time of flight calculations or estimations using at least one of signals 220 ₁, 220 ₂, or 220 ₃. The location or position may be GNSS or GPS like longitude or latitude values.

Once object device 202 determines its location or position within room 1, it can be tracked and map its movement on object device 202, remotely on a server, the Internet, or another device on the Internet. When moving into room 2, object device 202 receives signals 224 ₁, 224 ₂, or 224 ₃ from endpoints 222 ₁, 222 ₂, or 222 ₃ transmitted by location unit 206 to calculate or estimate distances y₁, y₂, or y₃ within a few inches or feet. In order to differentiate rooms, signals 220 ₁, 220 ₂, or 220 ₃ may be different from signals 224 ₁, 224 ₂, or 224 ₃. So that object device 202 has awareness of what room it is in within building 201, object device 202 determines its separation from location unit 206 from the signal strength of signals 224 ₁, 224 ₂, or 224 ₃. The specific room is determined by comparing calculated or estimated distance z₂ to building layout or model information stored in storage device 110.

If object device 202 is unable to determine its room location within building 201, it may compare distances z₂ to z₁ for assistance information. For instance, in this example since z₂<z₁ object device 202 may be able to determine its location by having two data points to compare to building layout or model information.

Object device 202 may also use recent outdoor location information, such as by Global Navigation Satellite Systems (GNSS), GALILEO, or GPS, such as to estimate what side of the building it is located to further narrow its location search within building 201 and reduce the possible location positions when comparing it to building layout or model information. The last known altitude reading of object device 202 may also assist it in determining what floor in building 201 it is on. Object device's 202 speed and bearing from outdoor location services may also be provided as assistance data for tracking indoors. Moreover, if an exact room location cannot be determined, object device 202 may calculate, provide, and/or display on one or more display devices 122 a probability that it's in a certain room.

Moreover, object device 202 may be able to detect its speed and direction of motion within room 1 by determining the rate of change of values x₁, x₂, or x₃. This may help in determining or expecting the next location or position of object device 202.

Object device 202 may also use a specialized GNSS or GPS high sensitive receiver configured to receive outdoor GNSS or GPS signals indoors as assistance information for determining its room location or location within a room in building 201. Moreover, building 201 may have a GNSS or GPS repeater that repeats received outdoor GNSS or GPS signals indoors. This may also be used by object device 202 as assistance information to determine its room location or location within a room in building 201.

Another example of assistance data is using a camera on object device 202 to identify objects or characteristics unique to room 1 or 2. Identified objects or characteristics unique to room 1 or 2 are compared to stored objects previously identified for room 1 or 2 in a database in storage device 110 or at least one or more servers 212. Object device 202 may wirelessly communicate with at least one or more servers 212 over communication link 214 to access the database. Assistance information is especially helpful when in a building where location unit 206 is centrally located to all rooms.

Another example of assistance data may be having a RFID reader in object device 202 to read radio frequency identification (RFID) tags near elevator doors on every floor of building 201 to identify the floor object device 202 gets on or off. An elevator may also have a beacon or transmitter that identifies each floor by transmitting a signal that can be detected by object device 202. In addition, a floor identification device may also use Wi-Fi, Bluetooth, a femtocell, or a picocell on the elevator to communicate floor information to object device 202.

Another example of assistance data is using a laser transceiver or other light sensitive devices to determine the distance or range to any walls or ceiling. This may be used sparingly or for initial calibration in order to not bother the user or other people in building 201.

An accelerometer, gyroscope, or e-compass in object device 202 may be used for determining orientation before performing any measurements to determine position within room 1. Orientation may be used to determine if object device 202 is upright or upside down and the direction the user is facing within room 1. Orientation may be useful in position or location calculations.

Once an initial position and room location is determined for object device 202, an accelerometer, gyroscope, or e-compass in object device 202 may also be used to estimate inertia or motion in order to estimate its next location. This data may be used when moving from room 1 to 2 as assistance data. Inertial data may also be used for faster calculations. For instance, if object device 202 is moving in a certain direction d₁ and d′₁ may have values moving in opposite directions, i.e. one increases while the other decreases. Using direction detection, object device 202 will know which value should be increasing or decreasing.

FIG. 3 is a process for detecting, locating, positioning, or tracking an object device indoors using powerlines. Location of circuit breaker, junction box, or outlet is initialized into a location unit (302). The location unit may fingerprint or maps out a building by sending a training signal over powerlines from circuit breaker, junction box, or outlet (304). Object device may acquire location of a circuit breaker, junction box, or outlet having the location unit before entering the building and acquire building layout over a wireless data link (306). Object device moves to room 1 (308).

Location unit transmits different signals over powerlines for each room (310). Object device measures strength of multiple signals received from endpoints, such as electrical outlets, in room 1 to determine its location in room 1 and the distance from circuit breaker, junction box, or electrical outlet having the location unit (312). Object device uses distance, building layout, or position of the circuit breaker, junction box, or outlet having the location unit to determine what room it is in within a building (314). Object device may determine what other objects are in room 1 by movement of the object device over time (316). The determined objects in the room may be tracked and stored in a database in the object device or server on the Internet.

FIG. 4 is a diagram of detecting, locating, positioning, or tracking an object device indoors or in a conveyance using emitted or transmitted signals. Object device 402, which may be configured with at least some of the circuitry described in FIG. 1, may initially be outside or exterior to building 401. Object device 402 may determine its outdoor location or position by communicating over link 408 and network 410 with positioning or location device 406. Network 410 may include both wireless and wired networks. Outdoor location or position may be determined using a Global Navigation Satellite System (GNSS), Galileo, GPS, assisted GPS (A-GPS), cell identification (CELL ID), cellular base station based, delay for reflection, delay of arrival, time of arrival (TOA), triangulation, forward link triangulation (AFLT), trilateration, multilateration, time difference of arrival (TDOA), enhanced observed time difference (E-OTD), uplink TDOA (U-TDOA), time of flight calculations or estimations, Wi-Fi based, or the like. Any of the examples of outdoor location or position determination may determine an object device's coordinates, such as longitudinal or latitudinal values.

Once the outdoor location or position of object device 402 is determined, information about buildings in the vicinity, such as on the same block or neighborhood, of object device 402 may be retrieved from storage device 110. If information about buildings in the vicinity of object device 402 is not stored in storage device 110, object device 402 may communicate over network 410 to retrieve information about the buildings in the vicinity of object device 402 from at least one or more servers 414. At least one or more servers 414 may be collocated or distributed over multiple locations in a computer network, such as the Internet.

Information about building 401 may include the number floors, the number of rooms, architectural plans, architectural schematics, 3D (e.g. width, length, height) room dimensions, 3D estimated room dimensions, 2D (e.g. width, length) room dimensions, 2D estimated room dimensions, room volumes, space volumes, room areas, space areas, simple room layouts (e.g., width and length), room geometry, floorplans, building models, site plans, site surveys, or the like. Building 401 may be an abode, apartment, house, mall, warehouse, commercial building, office, cabin, condo, condominium, domicile, dormitory, dwelling, hospital, house, residence, shelter, enclosure, or the like.

One such building in the vicinity of object device 402 may be building 401 having rooms 1 and 2. Having information about building 401, object device 402 enters room 1 and emits or transmits at least signals 416 ₁, 418 ₁, or 420 ₁. Signals 416 ₁, 418 ₁, or 420 ₁ may be one of a combination of ultrasound, ultrasonic, non-audible to humans sound, near visible light, infrared, bluetooth, Wi-Fi, 802.11x, radio frequency, especially low frequencies, or the like that may provide accuracy of a few inches to a few feet. Near visible light may be emitted or transmitted by object device 402 using a near visible light transceiver. Object device 402 may adaptively change the signal type of signals 416 ₁, 418 ₁, or 420 ₁ depending on the radio or acoustic characteristics of rooms 1 or 2.

Signals 416 ₁, 418 ₁, or 420 ₁ may be configured to avoid noise and interference from other devices. This may be achieved by using spread spectrum. Moreover, signals 416 ₁, 418 ₁, or 420 ₁ are different and uncorrelated enough such that object device 402 may separate reflection signals of 416 ₁, 418 ₁, or 420 ₁. Signals 416 ₁, 418 ₁, or 420 ₁ may be transmitted omnidirectionally or directionally, as desired.

In the case for ultrasound or an acoustic signal, object device 402 may include a speaker and microphone configured to accurately detect the reflection of transmitted signals, such as ultrasound. This may be advantageous since most current devices include a speaker and microphone and may simply need a software upgrade or an application to be able to detect reflections off walls for transmitted signals to determine or estimate at least one of distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃.

In order to determine or estimate at least one of distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃, object device 402 may determine the time it takes for reflection signals 416 ₂, 418 ₂, or 420 ₂ to bounce off one or more walls, ceilings, floors, or objects in room 1 and be detected by object device 402. Reflection signals 416 ₂, 418 ₂, or 420 ₂ correspond to signals 416 ₁, 418 ₁, or 420 ₁, respectively, and may be detected using a correlation or matching algorithm. If enough distances or lengths are determined volume may be determined for room 1. Object device 402 may have to repeat emitting or transmitting signals 416 ₁, 418 ₁, or 420 ₁ until at least one of distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃ is determined.

Object device 402 may determine the location of windows in room 1 if one of reflection signals 416 ₂, 418 ₂, or 420 ₂ is received but the others are not or are very weak. Object device 402 may then transmit another signal in the direction where the reflection signal was not received or is very weak to see if the results are similar. By repeating this process, the location of windows and/or their dimensions may be determined. This can be combined with estimated or calculated room dimension information to identify a room in building 401 and thus object 402's room location in building 401.

When determining time of flight, object device may differentiate between multipath, undesired echoes, or Doppler shifts of reflections signals 416 ₂, 418 ₂, or 420 ₂ by searching for the strongest reflections and dampening the weak reflections. Moreover, prior to transmitting signals 416 ₁, 418 ₁, or 420 ₁ object device 402 may use a special beacon to identify or model radio characteristics of the room and measure temperature and air pressure, which especially affect ultrasound transmissions.

At least two of distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃ may be used to compare to building information to determine or identify that object device 402 is inside/indoors and/or in room 1. For instance, room 1 may have special dimensions unique from room 2. Dimensions may include width, length, height, depth, etc. In addition to dimensions, room 1 may have certain area, volume, or layout characteristics that can be used to determine that object device 402 is in fact in room 1. If an exact match is not found, object device 402 may determine and display on one or more display devices 122 the closest match.

If no reasonable match is found after a first try or the dimensions do not make sense, signals 416 ₁, 418 ₁, or 420 ₁ may be emitted or transmitted to sweep, size, or trace room 1 again. If no reasonable match is found, object device 402 or a networked server may calculate or estimate a probability that it is in a certain room in building 401 and display it on one or more display devices 122. It may then increase the probability by using prior location information, location information from a network, or stored building information to increase the probability of room location.

Once a room location within building 401 is determined, or even if the search did not find any matches, object device 402 may use at least two of distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃ to determine where it is located within room 1 and subsequently track its motion within room 1. In another embodiment, object device 402 may generate a custom map on the fly or dynamically of the interior of building 401 as it moves from room to room using distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃ for each room, hallway, etc. This information may be stored in storage device 110 for future use.

Knowing the room location or position of object device 402 in building 401 and/or its location or position in room 1, object device 402 may be tracked remotely by a server, on the Internet by a user, or by another device on the Internet. Tracking by another user provides numerous possibilities for social networking, gaming, workforce management, etc.

In another embodiment, object device 402 may already know its outdoor location, have building information for building 401, and be located in building 401. Object device 402 may then locate and track itself indoors using any of the embodiments given above.

In another embodiment, object device 402 may detect that it's in a conveyance, such as an automobile, airplane, bus, train, etc. . . . Object 402 determines that it's in a conveyance based on calculated or estimated distances or lengths d₁, d′₁, d₂, d′₂, d₃, or d′₃. When object device 402 detects that it is in a conveyance it can prepare navigation and other useful applications for a user in anticipation. In addition, determining when object device 402 is in a conveyance may be helpful for emergency services.

In another embodiment, object device 402 may find other object devices nearby by detecting signals from other object devices and determine the distance to the other object devices, such as by using ultrasound signals.

Assistant data may be used by object device 402 in the case that too many matches of rooms are made, such as when building 401 has many rooms of similar layout. For instance, object device 402 may use recent outdoor location information, such as by GNSS or GPS, such as to estimate what side of the building it is located to further narrow its location within building 401 and reduce the possible location positions when comparing it to building layout or model information. The last known altitude reading of object device 402 may also assist it in determining what floor in building 401 it is on. Object device's 402 speed and bearing from outdoor location services may also be provided as assistance data for tracking indoors. Moreover, if an exact room location cannot be determined, object device 402 may calculate, provide, and/or display on one or more display devices 122 a probability that it's in a certain room.

Object device 402 may also use a specialized GNSS or GPS high sensitive receiver configured to receive outdoor GNSS or GPS signals indoors as assistance information for determining its room location or location within a room in building 401. Moreover, building 401 may have a GNSS or GPS repeater that repeats received outdoor GNSS or GPS signals indoors. This may also be used by object device 402 as assistance information to determine its room location or location within a room in building 401.

Another example of assistance data is using a camera on object device 402 to identify objects or characteristics unique to room 1 or 2. Identified objects or characteristics unique to room 1 or 2 are compared to stored objects previously identified for room 1 or 2 in a database in storage device 110 or at least one or more servers 414. Object device 402 may wirelessly communicate with at least one or more servers 414 to access the database.

Another example of assistance data may be having an RFID reader in object device 402 to read RFID tags near elevator doors on every floor of building 401 to identify the floor object device 402 gets on or off. An elevator may also have a beacon or transmitter that identifies each floor by transmitting a signal that can be detected by object device 402. In addition, a floor identification device may also use Wi-Fi, Bluetooth, a femtocell, or a picocell on the elevator to communicate floor information to object device 402.

Moreover, when inside a building object device 402 may determine what floor it is on by detecting or determining that it is on an elevator and by measuring the time spent riding the elevator. Object device 402 may determine that it is in an elevator by noticing that the dimensions of the space are similar to an elevator.

If object device 402 determines with low probability what it is in, it may use prior location information, location information from a network, or stored building information to increase its probability.

Another example of assistance data is using a laser transceiver or other light sensitive devices to determine the distance or range to any walls or ceiling. This may be used sparingly or for initial calibration in order to not bother the user or other people in the building 401.

An accelerometer, gyroscope, or e-compass in object device 402 may be used for determining orientation before performing any measurements to determine distances, lengths, or position within room 1. Orientation may be used to determine if object device 402 is upright or upside down and the direction the user is facing within room 1. Orientation may be useful in position or location calculations since it can be used to determine if one of calculated dimensions d₁, d′₁, d₂, d′₂, d₃, or d′₃ corresponds to the height, length, or width of room 1 or 2.

Once an initial position and room location is determined for object device 402, an accelerometer, gyroscope, or e-compass in object device 402 may also be used to estimate inertia or motion in order to estimate its next location. This data may be used when moving from room 1 to 2 as assistance data. Inertial data may also be used for faster calculations. For instance, if object device 402 is moving in a certain direction d₁ and d′₁ may have values moving in opposite directions, i.e. one increases while the other decreases. Using direction detection, object device 202 will know which value should be increasing or decreasing.

Moreover, object device 402 may be able to detect its speed and direction of motion within room 1 by determining how quickly it is approaching a certain wall, floor, or ceiling based on when reflection signals 416 ₂, 418 ₂, or 420 ₂ are received by object device 402. Object device 402 may also determine its speed and direction of motion within room 1 based on the rate of change of at least one of values d₁, d′₁, d₂, d′₂, d₃, or d′₃. This may help in determining or expecting the next location or position of object device 402.

Object device 402 may also emit signals 416 ₁, 418 ₁, or 420 ₁ to detect motion of another object. For instance signals 416 ₁, 418 ₁, or 420 ₁ may be ultrasonic or acoustic transmissions accurate to less than a foot that detect the motion of a victim in a burning building by a fireman. Signals 416 ₁, 418 ₁, or 420 ₁ may also be infrared transmitted by a mobile telephone, which is particularly useful since many phones currently have infrared sensors and may require only a software upgrade or application download to use the infrared sensor as a motion detection device.

In the indoor positioning systems (IPS) or indoor location services (iLS) provided herein, object device 202 or 402 may also determine whether it's outside. For example, object device 202 may know that it is outside by not detecting at least one of signals 220 ₁, 220 ₂, 220 ₃, 224 ₁, 224 ₂, or 224 ₃. Object device 402 may know that it is outside by not detecting any strong reflection signals 416 ₂, 418 ₂, or 420 ₂. Detecting that object device 202 or 402 is outside can be combined with outdoor location, such as GNSS or cell network based outdoor positioning, for a more exact outdoor location or position.

Moreover, determining when object device 202 or 402 exits a particular building can be combined with outdoor location, such as determined by GNSS, GPS, or cell network based outdoor positioning, for a more exact outdoor position or location. Outdoor positioning in combination with indoor positioning may be helpful in providing door-to-door turn-by-turn directions for a user of object device 202 or 402. For instance, object device 202 or 402 helps direct a user outside the building using the indoor positioning system then provide driving directions for the user to get home using the outdoor positing system or vice-versa.

When determining indoor or outdoor positioning, object device 202 or 402 may handle all the calculations of measurements or location determination, provide measurements to a networked computer for calculations or location determination, or a combination of both. Reducing the calculation load or processing on object device 202 or 402 may reduce battery consumption and increase accuracy and speed by leveraging greater processing power of a networked computer.

Object device 202 or 402, which may be combined, may use its determined location or position for context awareness computing, gaming, mobile marketing, 3D maps, 2D maps, social networking, business networking, text messaging, email, context awareness applications, augmented reality gaming, a real life first person shooting game, locating a lost phone online, fantasy gaming, virtual world gaming such as Secondlife™, room light and mood controls, real life interactive board games, children games, role playing games, hide and seek game for children, finding missing objects, determine when object device 202 or 402 is missing from a room, elderly people tracking, children monitoring and tracking in a house, employee tracking, law enforcement, mobile applications, walking directions, friend finders, security alerts, geocaching, geo-tagging, travel recommendations, indoor sports, tracking, monitoring, mobile commerce, military combat, or the like.

In the case of needed emergency care, object device 202 or 402 may be activated remotely by 911 personal or any other user with security permissions in order to determine its position or location indoors or to determine that it is outdoors. Moreover, a fire fighter with object device 202 or 402 may be able to navigate through a smoke filled or dark building and find other object devices. Similarly, an object device 202 or 402 with voice turn-by-turn directions may assist a blind person with navigating through a building.

Object device 202 or 402 may send or receive a text or multimedia message dependent on its room location. This may be useful for mobile advertising, just in time notifications, or the like.

For augmented reality gaming, a first user may use object device 402 as a virtual weapon to combat a second user having another object device 402 as a virtual weapon. As the first user walks in a building they may see a virtual augmented world on one or more display devices 122 in object device 402. Virtual objects may be placed, superimposed, or transposed on the foreground or background of the inside or outside of the building displayed on one or more display devices 122, or remotely, using one or more cameras on object device 402. The room location and indoor tracking is used to provide the first and second users directions to each other for combat. Once they find each other, object devices may be superimposed with graphics to look like virtual weapons when viewed through one or more display devices 122 using one or more cameras on object device 402. Alternatively, the indoor location and tracking may be used to guide users to virtual treasures in a building. Object device 202 or 402 and any of the features herein may be integrated into eye glasses or sun glasses.

As an example of context awareness, object device 202 or 402's most common visits or time in a room may be used to provide extra heating or cooling or trigger another context driven reaction. Moreover, a user of object device 202 or 402 may avoid a room that is occupied when viewing the location of other object devices in a building on one or more display devices 122. In addition, object device 202 or 402 may show the room locations of other users having object devices in a contact list or address book especially if they are nearby.

Still referring to context awareness, after identifying a room object device 202 or 402 may display or run applications used in that room or even a position in the room. For instance, object device 202 or 402 may display or run a news application when the user is in bed if it is an application commonly used in bed. Usage information of applications 202 or 402 may be stored in storage device 110.

FIG. 5 is a process 500 for detecting, locating, positioning, or tracking an object device indoors using emitted or transmitted signals. In process 500, an outdoor location is determined for or by an object device (502). The object device may be located indoors when acquiring its outdoor location. Based on in part the outdoor location, the object device receives over a network or retrieves from its storage device building information for at least one nearby building (504). Examples of building information are provided above. Object device transmits signals to determine at least the width or length of the room it is located in (506). Types of signals that may be emitted or transmitted are provided above.

The object device or a server on a network compares at least determined width or length against received or retrieved room layout information in the building information to determine location or position in the building (508). Object device can then have its position of location tracked over time in the room and/or between rooms (510). A database of rooms and layouts may be built in the object device or a server in the network as dimensions are estimated.

Although features and elements are described above in particular combinations, each feature or element can be used alone without the other features and elements or in various combinations with or without other features and elements. The methods, processes, or flow charts provided herein may be implemented in a computer program, software, or firmware incorporated in a computer-readable storage medium for execution by a general purpose computer or a processor. Examples of computer-readable storage mediums include a read only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, digital versatile disks (DVDs), and BluRay discs.

Suitable processors include, by way of example, a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and/or a state machine.

A processor in association with software may be used to implement hardware functions for use in a computer, wireless transmit receive unit (WTRU) or any host computer. The programmed hardware functions may be used in conjunction with modules, implemented in hardware and/or software, such as a camera, a video camera module, a videophone, a speakerphone, a vibration device, a speaker, a microphone, a television transceiver, a hands free headset, a keyboard, a Bluetooth® module, a frequency modulated (FM) radio unit, a liquid crystal display (LCD) display unit, an organic light-emitting diode (OLED) display unit, a digital music player, a media player, a video game player module, an Internet browser, and/or any wireless local area network (WLAN) or Ultra Wide Band (UWB) module. 

What is claimed is:
 1. A mobile computer characterized in that: a processor, of the mobile computer, is configured to determine, with utilization of environmental sensor data, a floor in a building where the mobile computer is located; the mobile computer is configured to track indoor position on the floor, wherein the indoor position is tracked with a combination of Wi-Fi related position data and an estimated distance traveled that is determined with accelerometer data; the processor is further configured to determine an area of the floor in the building with the estimated distance travelled; and wherein the indoor position is associated with a probability related accuracy value.
 2. The mobile computer of claim 1, wherein the environmental sensor data is used to determine altitude.
 3. The mobile computer of claim 1, wherein the mobile computer is a smartphone or telephone.
 4. The mobile computer of claim 1 further characterized in that: the mobile computer is further configured to analyze gyroscope related data to determine an orientation of the mobile computer, wherein the orientation is utilized in combination with the Wi-Fi related position data and the estimated distance travelled to determine the indoor position.
 5. The mobile computer of claim 1, wherein the tracked indoor position is utilized to determine a user context for an application on the mobile computer and to guide emergency personnel or a firefighter.
 6. The mobile computer of claim 1, wherein any one of audible information, compass information, camera based information, radio frequency identification (RFID) information, bluetooth information, ranging information, femtocell information, or picocell information is utilized to determine the tracked indoor position of the mobile computer.
 7. A method performed by a mobile computer, the method comprising: determining, by a processor of the mobile computer with utilization of environmental sensor data, a floor in a building where the mobile computer is located; tracking, by the mobile computer, indoor position on the floor, wherein the indoor position is tracked with a combination of Wi-Fi related position data and an estimated distance traveled that is determined with accelerometer data; determining, by the processor, an area of the floor in the building with the estimated distance travelled; and wherein the indoor position is associated with a probability related accuracy value.
 8. The method of claim 7 further comprising: receiving, by a transceiver via a network, a notification related to an advertisement, wherein the notification is received based on the indoor position.
 9. The method of claim 7, wherein the environmental sensor data is used to determine altitude.
 10. The method of claim 7, wherein the mobile computer is a smartphone or telephone.
 11. The method of claim 7 further comprising: analyzing, by the mobile computer, gyroscope related data to determine an orientation of the mobile computer, wherein the orientation is utilized in combination with the Wi-Fi related position data and the estimated distance travelled to determine the indoor position.
 12. The method of claim 7, wherein the tracked indoor position is utilized to determine a user context for an application on the mobile computer and to guide emergency personnel or a firefighter.
 13. The method of claim 7, wherein any one of audible information, compass information, camera based information, radio frequency identification (RFID) information, bluetooth information, ranging information, femtocell information, or picocell information is utilized to determine the tracked indoor position of the mobile computer.
 14. The mobile computer of claim 1 further comprising: a transceiver configured to receive, via a network, a notification related to an advertisement, wherein the notification is received based on the indoor position. 